System and methods for controlling a vehicular infotainment system

ABSTRACT

An infotainment computer device for use in controlling an infotainment system in a vehicle is provided. The infotainment computer device includes at least one processor communicatively coupled to at least one memory device and a display device communicatively coupled to the at least one processor. The infotainment computer device is programmed to display an active page and a toolbar. The active page includes a plurality of buttons and the toolbar includes a shortcut area including at least one shortcut button. The infotainment computer device is also programmed to receive a first input requesting access to a customization mode, retrieve a current speed of the vehicle, activate the customization mode if the current speed of the vehicle is zero, receive a second input indicating a desired change to at least one of the active page and the toolbar, and change the display based on the desired change.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to and is a divisional of U.S. patentapplication Ser. No. 15/400,045 filed on Jan. 6, 2017, entitled “SYSTEMAND METHODS FOR CONTROLLING A VEHICULAR INFOTAINMENT SYSTEM”, which ishereby incorporated by reference in its entirety.

BACKGROUND OF THE DISCLOSURE

The field of the disclosure relates generally to a vehicularinfotainment system, and more specifically to methods and systems foruse in controlling an infotainment system including a customizabletoolbar and home page.

Generally, known vehicle infotainment systems provide information andentertainment options to occupants of a vehicle. Known infotainmentsystems may accept user input to control various aspects of theoccupant's comfort, such as the vehicle interior climate and/orentertainment. Many of these controls are provided while the vehicle isin motion. However, while a vehicle's driver is accessing thesecontrols, the user is not focusing their attention on the road whileactively driving. As such, a need exists to provide these controls in auser-accessible manner that enables a user to quickly access desiredcontrols while driving. This would reduce the amount of time that a userwould need to spend to adjust the controls of the infotainment systemand then return their attention to actively driving.

BRIEF DESCRIPTION OF THE DISCLOSURE

In one aspect, an infotainment computer device for use in controlling aninfotainment system in a vehicle is provided. The infotainment computerdevice includes at least one processor communicatively coupled to atleast one memory device and a display device communicatively coupled tothe at least one processor. The infotainment computer device isprogrammed to display, via the display device, a view including anactive page and a toolbar. The active page includes a plurality ofbuttons and the toolbar includes a shortcut area including at least oneshortcut button. The infotainment computer device is also programmed toreceive a first input requesting access to a customization mode,retrieve a current speed of the vehicle, activate the customization modeif the current speed of the vehicle is zero, receive a second inputindicating a desired change to at least one of the active page and thetoolbar, and change the display based on the desired change.

In another aspect, a computer-based method for use in controlling aninfotainment system in a vehicle is provided. The method is implementedusing an infotainment computer device in communication with a memory.The method includes displaying, via a display device, a view includingan active page and a toolbar. The active page includes a plurality ofbuttons and the toolbar includes a shortcut area including at least oneshortcut button. The method also includes receiving a first inputrequesting access to a customization mode, retrieving a current speed ofthe vehicle, activating the customization mode if the current speed ofthe vehicle is zero, receiving a second input indicating a desiredchange to at least one of the active page and the toolbar, and changingthe display based on the desired change.

In a further aspect, at least one non-transitory computer-readablestorage media having computer-executable instructions embodied thereonis provided. When executed by an infotainment computer device, in avehicle, having at least one processor coupled to at least one memorydevice, the computer-executable instructions cause the processor todisplay, via a display device, a view including an active page and atoolbar. The active page includes a plurality of buttons and the toolbarincludes a shortcut area including at least one shortcut button. Thecomputer-executable instructions also cause the processor to receive afirst input requesting access to a customization mode, retrieve acurrent speed of the vehicle, activate the customization mode if thecurrent speed of the vehicle is zero, receive a second input indicatinga desired change to at least one of the active page and the toolbar, andchanging the display based on the desired change.

In yet another aspect, an infotainment computer device for use incontrolling an infotainment system in a vehicle is provided. Theinfotainment computer device includes: at least one processor coupled toat least one memory device and a display device coupled to the at leastone processor. The infotainment computer device is programmed todisplay, via the display device, an active page including a plurality ofuser-actionable buttons, where each button is associated with anapplication, display, via the display device, a toolbar including ashortcut area including at least one shortcut button, an audioinformation bar including an audio icon and audio information area, anda notification area including one or more notification icon, receiveaudio signals from at least one audio source, determine a currentlyselected audio source, and transmit the audio signals from the currentlyselected audio source to one or more audio outputs.

In still another aspect, an infotainment computer device for use incontrolling an infotainment system in a vehicle is provided. Theinfotainment computer device includes at least one processor coupled toat least one memory device and a touch-sensitive display device coupledto the at least one processor. The infotainment computer device isprogrammed to concurrently display, via the touch-sensitive displaydevice, a first region and a second region in a user interface. Thefirst region configured to display multiple pages of application icons.The first region displays a first page of application icons in themultiple pages of application icons. The second region includes atoolbar along the top of the touch-sensitive display device. The toolbarincludes a shortcut area with at least one shortcut button, an audioinformation bar including an audio icon and audio information area, anda notification area including one or more notification icon. The audioicon and the audio information area display information about acurrently selected audio source. While concurrently displaying the firstregion and the second region on the touch-sensitive display, theinfotainment computer device is programmed to receive a user contact onthe audio information area. The audio information area is configured todisplay information about the currently selected audio source. Theinfotainment computer device is also programmed to activate and displayan application associated with the selected audio source in the firstregion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-20B illustrate exemplary embodiments of the methods and systemsdescribed herein.

FIG. 1 is an exemplary infotainment system display including an activepage and a toolbar in accordance with one embodiment of the presentdisclosure.

FIG. 2 is a simplified block diagram of an exemplary infotainmentsystem.

FIG. 3 illustrates an exemplary configuration of a client system shownin FIG. 2, in accordance with one embodiment of the present disclosure.

FIG. 4 illustrates an exemplary configuration of a server system shownin FIG. 2, in accordance with one embodiment of the present disclosure.

FIG. 5 is a flow chart of an exemplary process for use in controlling auser's access to a customization mode using the system shown in FIG. 2.

FIGS. 6A-6E illustrate exemplary views of a use case for moving buttonsin a customization mode using the system shown in FIG. 2.

FIGS. 7A-7G illustrate exemplary views of a use case for customizing ashortcut bar in the customization mode using the system shown in FIG. 2.

FIGS. 8A-8C illustrate exemplary views of a use case for removing abutton in the customization mode using the system shown in FIG. 2.

FIGS. 9A-9D illustrate exemplary views of an audio information bar usedwith the infotainment system display shown in FIG. 1.

FIG. 10 illustrates an exemplary view of a selectable menu of audiosources based on the audio information bar shown in FIG. 9A.

FIGS. 11A-D illustrates exemplary views of an indicator area used withthe infotainment system display shown in FIG. 1.

FIG. 12 illustrates another exemplary view indicator area, shown inFIGS. 11A-11D, used with the infotainment system display shown in FIG.1.

FIG. 13 illustrates an exemplary view of a list of items associated withindicators from the indicator area shown in FIGS. 11A-11D and 12.

FIG. 14 is a flow chart of an exemplary process that may be used tocontrol the infotainment system in a vehicle as shown in FIG. 2.

FIGS. 15A-15E illustrate exemplary views of a use case for rearrangingbuttons over multiple active pages.

FIGS. 16A-16E illustrate exemplary views of another use case forrearranging buttons over multiple active pages.

FIGS. 17A-17D illustrate exemplary views of yet a further use case forrearranging buttons over multiple active pages.

FIG. 18 illustrates an exemplary view of an all apps menu that displaysa selectable listing of all of the apps on the infotainment system shownin FIG. 2.

FIGS. 19A-19D illustrate exemplary views of use cases of when the userreaches the end of the active screen.

FIGS. 20A-20B are flow charts of exemplary processes for transitioningbetween different apps using the infotainment system shown in FIG. 2.

DETAILED DESCRIPTION OF THE DISCLOSURE

The following detailed description illustrates exemplary embodiments byway of example and not by way of limitation. The description clearlyenables one skilled in the art to make and use the disclosure, describesseveral embodiments, adaptations, variations, alternatives, and uses ofthe disclosure, including what is presently believed to be the best modeof carrying out the disclosure. These system and methods are for use incontrolling an infotainment system including a customizable toolbar andat least one page of buttons.

The methods and system described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware, or any combination or subset. As describedabove, at least one technical problem with known systems is a need toenable a user, such as a driver, to quickly make changes via theinfotainment system. The system and methods described herein addressthat technical problem. The technical effect of the systems andprocesses described herein is achieved by performing at least one of thefollowing steps: (a) displaying, via a display device, an active pageand a toolbar, where the active page includes a plurality of buttons,where the toolbar includes a shortcut area including at least oneshortcut button, an audio information bar that includes an audio sourceicon and an audio information block, and an indicator area that includesspace to display one or more icons that represent at least one of anapplication status, a system status, and a notification; (b) receiving afirst input requesting access to a customization mode; (c) retrieving acurrent speed of a vehicle; (d) activating the customization mode if thecurrent speed of the vehicle is zero; (e) receiving a second inputindicating a desired change to at least one of the active page and thetoolbar; and (f) changing the display based on the desired change. Theresulting technical effect is that a user is able to more safely operatean infotainment system in a vehicle.

In some embodiments, the technical effect of the systems and processesdescribed herein is achieved by performing at least one of the followingsteps: (a) receiving the current speed of the vehicle while thecustomization mode is active; and (b) exiting the customization mode ifthe current speed of the vehicle is greater than a predetermined speed,such as zero.

In some further embodiments, the technical effect of the systems andprocesses described herein is achieved by performing at least one of thefollowing steps: (a) receiving an input selecting the audio source icon;(b) displaying a menu of audio sources; (c) receiving a user selectionof an audio source from the menu of audio sources; (d) activating theselected audio source; (e) displaying an icon associated with theselected audio source in the audio source icon; (f) displayinginformation associated with the selected audio source option in theaudio information block; (g) receiving an input selecting the indicatorarea; and (h) displaying one or more items associated with the one ormore icons displayed in the indicator area.

In some further embodiments, the technical effect of the systems andprocesses described herein is achieved by performing at least one of thefollowing steps: (a) receiving a second input indicating a desiredchange to the active page, where the second input includes dragging anddropping a button of the plurality of buttons to a location on theactive page; (b) positioning the button in the new location; and (c)rearranging the plurality of buttons based on the button beingpositioned in the new location.

In still further embodiments, the technical effect of the systems andprocesses described herein is achieved by performing at least one of thefollowing steps: (a) receiving the second input indicating a desiredchange to the toolbar, where the second input includes dragging anddropping a button of the plurality of buttons to a desired location onthe shortcut area; (b) determining which shortcut button of the at leastone shortcut button is at the desired location on the shortcut area; (c)replacing the determined shortcut button with a shortcut buttonassociated with the button; (d) receiving the second input indicating adesired change to the toolbar, where the second input includes draggingand dropping a shortcut button of the at least one shortcut button to adesired location on the shortcut area; (e) positioning the shortcutbutton in the new location; and (f) rearranging the at least oneshortcut button in the shortcut area based on the shortcut button beingpositioned in the new location.

In another embodiment, a computer program is provided, and the programis embodied on a computer-readable medium. In an exemplary embodiment,the system is executed on a single computer system, without requiring aconnection to a server computer. In a further exemplary embodiment, thesystem is being run in a Windows® environment (Windows is a registeredtrademark of Microsoft Corporation, Redmond, Wash.). In yet anotherembodiment, the system is run on a mainframe environment and a UNIX®server environment (UNIX is a registered trademark of X/Open CompanyLimited located in Reading, Berkshire, United Kingdom). In a furtherembodiment, the system is run on an iOS® environment (iOS is aregistered trademark of Cisco Systems, Inc. located in San Jose,Calif.). In yet a further embodiment, the system is run on a Mac OS®environment (Mac OS is a registered trademark of Apple Inc. located inCupertino, Calif.). In still yet a further embodiment, the system is runon Android® OS (Android is a registered trademark of Google, Inc. ofMountain View, Calif.). In another embodiment, the system is run onLinux® OS (Linux is a registered trademark of Linus Torvalds of Boston,Mass.). The application is flexible and designed to run in variousdifferent environments without compromising any major functionality. Insome embodiments, the system includes multiple components distributedamong a plurality of computing devices. One or more components are inthe form of computer-executable instructions embodied in acomputer-readable medium. The systems and processes are not limited tothe specific embodiments described herein. In addition, components ofeach system and each process can be practiced independently andseparately from other components and processes described herein. Eachcomponent and process can also be used in combination with otherassembly packages and processes.

In at least one embodiment, a system is provided that communicatesbetween a plurality of components using a bus architecture. In theseembodiments, the bus architecture may include a serial bus, where datais transmitted in a bit-serial form. In some embodiments, the busarchitecture may include a parallel bus, where data is transmitted aswords. Data transmitted on the bus architecture may be formatted intomessages, where each message is directed to one or more components ofthe plurality of components in the system. In some further embodiments,the bus architecture includes Ethernet connections between some or allof the plurality of components.

In some embodiments, the system includes the Controller area network(“CAN bus”), which is a serial bus. The CAN bus allows the components ofthe system to communication without a host computer to control thecommunication. In the CAN bus, each component is capable of transmittingand receiving messages. For example, a system includes components A, B,and C on a CAN bus. In this example, component A transmits through theCAN bus a message addressed to component C. Both components B and Creceive the message. Component B discards or ignores the message andcomponent C receives and potentially acts on the message.

In some embodiments, the system includes the Media Oriented SystemsTransport (MOST) bus. (MOST® is a registered trademark of StandardMicrosystems Corporation of Hauppauge, N.Y.). The MOST bus uses a ringtopology for synchronous data communication to transport audio, video,voice, and data signals between a plurality of components.

In one embodiment, a computer program is provided, and the program isembodied on a computer-readable medium and utilizes a Structured QueryLanguage (SQL) with a client user interface front-end for administrationand a web interface for standard user input and reports. In anotherembodiment, the system is web enabled and is run on a business entityintranet. In yet another embodiment, the system is fully accessed byindividuals having an authorized access outside the firewall of thebusiness-entity through the Internet. In a further embodiment, thesystem is being run in a Windows® environment (Windows is a registeredtrademark of Microsoft Corporation, Redmond, Wash.). The application isflexible and designed to run in various different environments withoutcompromising any major functionality.

As used herein, an element or step recited in the singular and precededwith the word “a” or “an” should be understood as not excluding pluralelements or steps, unless such exclusion is explicitly recited.Furthermore, references to “exemplary embodiment” or “one embodiment” ofthe present disclosure are not intended to be interpreted as excludingthe existence of additional embodiments that also incorporate therecited features.

As used herein, the term “database” may refer to either a body of data,a relational database management system (RDBMS), or to both. A databasemay include any collection of data including hierarchical databases,relational databases, flat file databases, object-relational databases,object oriented databases, and any other structured collection ofrecords or data that is stored in a computer system. The above examplesare for example only, and thus are not intended to limit in any way thedefinition and/or meaning of the term database. Examples of RDBMS'sinclude, but are not limited to including, Oracle® Database, MySQL, IBM®DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, anydatabase may be used that enables the system and methods describedherein. (Oracle is a registered trademark of Oracle Corporation, RedwoodShores, Calif.; IBM is a registered trademark of International BusinessMachines Corporation, Armonk, N.Y.; Microsoft is a registered trademarkof Microsoft Corporation, Redmond, Wash.; and Sybase is a registeredtrademark of Sybase, Dublin, Calif.)

The terms “click,” “select,” “drag,” and “drop” refer to userinteractions with items on a touchscreen. A user may make contact with abutton by pressing on the corresponding image on the touchscreen. If theuser makes contact and releases under a predetermine period of time,then that is considered a “click” of the button and the associatedcontroller performs the corresponding action. If the user makes contactwith a button for at least a predetermined period of time (i.e. greaterthan a second), then that button may be considered “selected.” While theuser continues contact with the touchscreen, the image of the selectedbutton moves along with the user's touch. This is considered “dragging.”If the user releases the selected button after dragging, that isconsidered “dropping” the button or items, and the controller performsappropriate actions such as those described herein.

In some situations, when a user is dragging an item, the item may havean area larger than the user's contact. In some embodiments, the droplocation of the item may be based on the position of a part of the item,such as a corner of a button. In other embodiments, the drop location ofthe item may be based on the actual position of the user's contact onthe touchscreen when the user releases the selected item. In theseembodiments, the item or button may overlap multiple locations and thesystem uses the finger contact location to prevent confusion. As usedherein, the system may use either method of determining the droplocation.

The term processor, as used herein, may refer to central processingunits, microprocessors, microcontrollers, reduced instruction setcircuits (RISC), application specific integrated circuits (ASIC), logiccircuits, and any other circuit or processor capable of executing thefunctions described herein.

As used herein, the terms “software” and “firmware” are interchangeable,and include any computer program stored in memory for execution by aprocessor, including RAM memory, ROM memory, EPROM memory, EEPROMmemory, and non-volatile RAM (NVRAM) memory. The above memory types arefor example only, and are thus not limiting as to the types of memoryusable for storage of a computer program.

Furthermore, as used herein, the term “real-time” refers to at least oneof the time of occurrence of the associated events, the time ofmeasurement and collection of predetermined data, the time to processthe data, and the time of a system response to the events and theenvironment. In the embodiments described herein, these activities andevents occur substantially instantaneously.

FIG. 1 is an exemplary infotainment system display 100 including anactive page 104 and a toolbar 106 in accordance with one embodiment ofthe present disclosure. In the exemplary embodiment, infotainment systemdisplay 100 is a component of an infotainment system controller 205(shown in FIG. 2) that is included in a vehicle (not shown). Moreover,in the exemplary embodiment, infotainment system display 100 ispositioned in a dashboard (not shown) of a vehicle (not shown), wherethe driver and the front passenger may access infotainment systemdisplay 100. In one exemplary embodiment, infotainment system display100 is implemented on a touchscreen. In the exemplary embodiment,infotainment system display 100 displays controls to a user (not shown)that enable the user to access entertainment options and climatecontrols. In the exemplary embodiment, infotainment system display 100includes a screen view 102 that displays active page 104 and toolbar106.

Infotainment system display 100 includes an active page 104 thatincludes a plurality of virtual buttons 108. Each virtual button 108links to a different application or to a sub-page. Sub-pages may includeone or more options or settings that the user may change. Moreover,sub-pages may also include a series of additional buttons 108. In someembodiments, when the user contacts a button 108, infotainment systemdisplay 100 displays a new active page 104 associated with that specificbutton 108. In other embodiments, infotainment system display 100displays a pop-up window associated with the button 108 when the button108 is clicked.

In the exemplary embodiment, infotainment system display 100 includes aplurality of active pages 104 that include buttons 108. Specifically inthis exemplary embodiment, infotainment system display 100 includes anext page button 110 that enables the user to selectively scroll to thenext page of buttons 108. In some embodiments, next page button 110causes infotainment system display 100 to display an entire new set ofbuttons 108 on a different active page 104. In other embodiments, nextpage button 110 scrolls through the buttons 108 by displaying one newcolumn of buttons 108 at a time. In some embodiments, infotainmentsystem display 100 also includes a previous page button 111 that enablesthe user to selectively scroll to a previous page of buttons 108 whenthe user clicks the previous page button 111. In some furtherembodiments, infotainment system display 100 does not display or greysout previous page button 111 when active page 104 is the first page ofbuttons 108, aka where there is no previous page of buttons 108 todisplay. In these embodiments, infotainment system display 100 does notdisplay or greys out next page button 110 when active page 104 is thelast page of buttons 108, aka where there is no next page of buttons todisplay.

Infotainment system display 100 includes a plurality of page indicators112 that indicate the other pages of buttons 108 that are available tothe user. For example, in the exemplary embodiment, infotainment systemdisplay 100 also includes a current page indicator 114 that shows whichpage of the plurality of pages the user is on. In some embodiments, theuser may select one of the page indicators 112 to cause infotainmentsystem display 100 to display the corresponding page as the active page104.

In the exemplary embodiment, infotainment system display 100 alsoincludes a toolbar 106. In some embodiments, toolbar 106 includes ashortcut bar 116 (also known as a shortcut area), an audio informationbar 120, an indicator area 128, and a clock display 132. In otherembodiments, toolbar 106 may include more or less bars or options, as isnecessary. Shortcut bar 116 includes a plurality of shortcut buttons118. Each of the shortcut buttons 118 is a link to an active button 108that is configured, such that if the shortcut button 118 is clicked, itcauses infotainment system display 100 to perform as if thecorresponding button 108 was clicked on. In the exemplary embodiment,shortcut bar 116 is positioned on the side of toolbar 106 closest to thedriver. This allows the driver easy access and view of shortcut bar 116.In the exemplary embodiment, shortcut bar 116 is limited to a maximum ofthree shortcut buttons 118. This limitation reduces the choices thatdriver has to press thereby reducing the chance of the driver contactingthe wrong shortcut button 118. It also reduces the number of items(shortcut buttons 118) that the driver needs to look at to pick the onethat he or she wants to activate. In the exemplary embodiment, shortcutbar 116 is further limited to prevent duplicate shortcut buttons 118.Each shortcut button 118 on shortcut bar 116 must be associated with adifferent button 108.

Audio information bar 120 includes an audio icon 122 and audioinformation 124. Audio icon 122 represents the currently selected audiosource. In the exemplary embodiment, audio icon 122 is similar to anicon on the button 108 associated with the selected audio source. Audioinformation 124 includes information about the currently active audiosource, such as, but not limited to, the song currently playing, theartist currently playing, the frequency of the current station, the nameof the current station, the name of the current program, phone number orcontact name, call time, an error message, and volume feedback. In theexemplary embodiment, if the information contained in audio information124 is longer, i.e., includes more characters than can be displayed inthe space available on audio information bar 120, then audio information124 terminates in an ellipse (“ . . . ”). In the exemplary embodiment,audio information 124 is static and does not scroll or animate tofacilitate preventing the driver from being distracted by movement oninfotainment system display 100.

When audio icon 122 is clicked, a selectable menu of audio sourcesopens, as shown in FIG. 10. As shown in FIG. 20A, when audio information124 is clicked, the app associated with the current audio source opens.When there is no audio playing and no active phone call, then notransition to another page is initiated when audio information 124 isclicked on.

In the exemplary embodiment, audio information bar 120 is positioned inthe middle of toolbar 106 so that it is accessible by both the driverand the front passenger. This allows both the driver and the passengereasy access and view of audio information bar 120. In addition, audioicon 122 is positioned on the side of audio information bar 120 closestto the driver to facilitate easy access by the driver to audio sourcesmenu 802 shown in FIG. 10.

In the exemplary embodiment, indicator area 128 displays a plurality ofindicator icons 130. Each indicator icon 130 corresponds to a differentnotification and system status that infotainment system controller 205has either received or determined that should be displayed to the user.Indictor area 128 is positioned on toolbar 106 to farther away fromdriver than shortcut bar 116 and audio information bar 120. This limitsthe driver's access to indicator area 128 while actively driving. Thispositioning also reduces the chance that the driver may see a change tothe indicator icons 130 in indicator area 128 and be distracted whileactively driving. Clicking on indicator area 128 opens a list of itemsassociated with indicator icons 130, as shown in FIG. 13.

Clicking on clock display 132 opens a clock page.

In the exemplary embodiment, infotainment system display 100 alsoincludes an all apps button 134 when in normal operations. When all appsbutton 134 is clicked, an all apps menu 1802 (shown in FIG. 18) isdisplayed.

In some embodiments, the positions of shortcut bar 116 and audioinformation bar 120 are switched, where audio information bar 120 is tothe left of shortcut bar 116. In some further embodiments, the user mayswitch the position of shortcut bar 116 and audio information bar 120.In these embodiments, the user may switch the locations by selectingaudio information bar 120 while in customization mode and dragging audioinformation bar 120 to shortcut bar 116, when then causes shortcut bar116 to be shifted to the right. In other embodiments, the user maychange a setting to reverse the order of shortcut bar 116 and audioinformation bar 120.

The above description is based on a left hand drive vehicle. In a righthand drive vehicle, infotainment system display 100 may display a screenview 102 that mirrors that of FIG. 1. For example, toolbar 106 isconfigured with clock display 132 on the far left side instead of thefar right. In this example, from left to right, toolbar 106 may includeclock display 132, indicator area 128, audio information bar 120, andshortcut bar 116. In this example, audio icon 122 may be placed to theright of audio information 124 on audio information bar 120.Furthermore, other arrangements that have been described as beingsituated towards the left or the right may be reversed for a right handdrive vehicle.

FIG. 2 is a simplified block diagram of an exemplary vehicularinfotainment system 200. In the exemplary embodiment, vehicularinfotainment system 200 may be used for providing access to controls toa user to enable the user to access entertainment options and climatecontrols for the vehicle (not shown). In addition, vehicularinfotainment system 200 includes an infotainment system controller 205that controls the various components of infotainment system 200. Asdescribed below in more detail, infotainment system controller 205displays, via infotainment system display 100, a screen view 102including an active page 104 and a toolbar 106 (all shown in FIG. 1).Active page 104 includes a plurality of buttons 108 and toolbar 106includes a shortcut bar 116 (also known as a shortcut area) containing aplurality of shortcut buttons 118 (all shown in FIG. 1). As described ingreater detail below, infotainment system controller 205 is configuredto receive a first user input requesting access to a customization mode,retrieve a current speed of the vehicle, activate the customization modeif the current speed of the vehicle is zero, receive a second user inputindicating a desired change to at least one of active page 104 andtoolbar 106, and update infotainment system display 100 based on thedesired change.

In the exemplary embodiment, infotainment system controller 205 receivesplayable media from a plurality of media sources 210 and outputs thatmedia to the user through a plurality of media outputs 225 in thevehicle. Examples of media sources 210 include, but are not limited to,AM radio, FM radio, satellite radio, Internet radio, media files in amemory or database 220, user computer devices 230, external memorydevices, CD player, tape player, DVD/Blu-ray player, phone connections,navigation systems, and a rear entertainment system (RES). Examples ofmedia outputs 225 include, but are not limited to, infotainment systemdisplay 100, one or more view screens, one or more speakers, and therear entertainment system (RES). Examples of media include, but are notlimited to, music, books on tape, videos, movies, playlists, spokeninstructions, phone calls, text and other messages, and any other mediathat can either be displayed, played, or projected to the user. In theexemplary embodiment, infotainment system display 100 is an input/outputdevice of infotainment system 200 that is separate from infotainmentsystem controller 205. In other embodiments, infotainment system display100 is integrated into infotainment system controller 205. In theexemplary embodiment, infotainment system controller 205 is incommunication with one or more media sources 210 through the MOST bus,where the media source 210 transmits information on the MOST bus toinfotainment system controller 205. Other media sources 210 may be incommunication with infotainment system controller 205 via othercommunication methods. Furthermore, in the exemplary embodiment,infotainment system controller 205 is in communication with one or moremedia outputs 225 through the MOST bus.

In some embodiments, infotainment system controller 205 receives inputfrom external controls that provides instruction to infotainment systemcontroller 205. For example, infotainment system controller 205 may beconnected to a physical volume controller, such as a volume knob thatallows a user to change the volume of one or more media outputs 225 byrotating the knob. In another example, infotainment system controller205 may also be connected to physical buttons (not shown). Thesephysical buttons may have specific functions. In this example, the threephysical buttons include a home button, a back button, and a brightnessbutton. The home button would instruct infotainment system controller205 to display the leftmost active page 104 on infotainment systemdisplay 100. The back button would return to the previous page that wasdisplayed. For example, if the user entered an app by clicking on abutton 108, then clicking the back button would return the user to pagewhere the user clicked on the button 108. The brightness button wouldallow the user to adjust the brightness of infotainment system display100. Additionally, the user may have access to other external buttons,such as one or more buttons on the steering wheel (not shown), which mayprovide inputs or instructions to infotainment system controller 205.

One or more user computer devices 230 may be communicatively coupledwith infotainment system controller 205 through a wireless network or awired connection. In the exemplary embodiment, user computer devices 230are mobile computers that include a software application that enablesuser computer devices 230 to access infotainment system controller 205using a wireless or wired connection. Wired connections may include, butare not limited to, a USB connection, an HDMI connection, and any otherwired connection that enables communication between user computer device230 and infotainment system controller 205. Wireless connectionsinclude, but are not limited to, Bluetooth, Wi-Fi, Near FieldCommunication (NFC), and any other wireless connection that allowscommunication between user computer device 230 and infotainment systemcontroller 205. User computer devices 230 may also be connected to theInternet. More specifically, user computer devices 230 arecommunicatively coupled to the Internet through many interfacesincluding, but not limited to, at least one of a network, a local areanetwork (LAN), a wide area network (WAN), or an integrated servicesdigital network (ISDN), a dial-up-connection, a digital subscriber line(DSL), a cellular phone connection, and a cable modem. User computerdevices 230 can be any device capable of accessing the Internet orconnecting to infotainment system controller 205 including, but notlimited to, a USB memory stick, a portable hard drive, a desktopcomputer, a laptop computer, a personal digital assistant (PDA), acellular phone, a smartphone, a tablet, a phablet, a smart watch, orother connectable equipment. In the exemplary embodiment, the userinstructs user computer devices 230 to access infotainment system 200 toprovide one or more data source options to infotainment system 200, suchas, but not limited to, stored audio/video files, phone calls, andnavigation information.

A database server 215 is communicatively coupled to a database 220 thatstores data. In one embodiment, database 220 includes customizationoptions, audio/video files, and system options. In the exemplaryembodiment, database 220 is stored remotely from infotainment systemcontroller 205. In some embodiments, database 220 is decentralized. Inthe exemplary embodiment, a person can access database 220 via usercomputer devices 230 by logging onto infotainment system controller 205,as described herein.

In the exemplary embodiment, infotainment system controller 205 is incommunication with one or more vehicle computer devices 235. Vehiclecomputer devices 235 control different aspects of vehicle operation. Insome embodiments, vehicle computer device 235 is attached to theController Area Network (CAN bus) for the vehicle. In these embodiments,vehicle computer device 235 is in communication with one or moreelectronic control units (ECU) that control the operation of thevehicle. In other embodiments, vehicle computer device 235 merelyreceives messages from one or more ECUs. In the exemplary embodiment,vehicle computer device 235 determines the current speed or gear of thevehicle and transmits that information to infotainment system controller205.

FIG. 3 illustrates an exemplary configuration of a client system shownin FIG. 2, in accordance with one embodiment of the present disclosure.User computer device 302 is operated by a user 301. User computer device302 may include, but is not limited to, media sources 210, media outputs225, user computer devices 230, vehicle computer devices 235 (all shownin FIG. 1), and infotainment system display 100 (shown in FIG. 1). Usercomputer device 302 includes a processor 305 for executing instructions.In some embodiments, executable instructions are stored in a memory area310. Processor 305 may include one or more processing units (e.g., in amulti-core configuration). Memory area 310 is any device allowinginformation such as executable instructions and/or transaction data tobe stored and retrieved. Memory area 310 may include one or morecomputer-readable media.

User computer device 302 also includes at least one media outputcomponent 315 for presenting information to user 301, such asinfotainment system display 100. Media output component 315 is anycomponent capable of conveying information to user 301. In someembodiments, media output component 315 includes an output adapter (notshown) such as a video adapter and/or an audio adapter. An outputadapter is operatively coupled to processor 305 and operativelycoupleable to an output device such as a display device (e.g., a cathoderay tube (CRT), liquid crystal display (LCD), light emitting diode (LED)display, or “electronic ink” display) or an audio output device (e.g., aspeaker or headphones). In some embodiments, media output component 315is configured to present a graphical user interface (e.g., a web browserand/or a client application) to user 301. A graphical user interface mayinclude, for example, an audio controller interface for controllingcurrently playing media. In some embodiments, user computer device 302includes an input device 320 for receiving input from user 301. User 301may use input device 320 to, without limitation, select, control, and/orenter an audio source to listen to, or to rearrange at least one ofactive page 104 and toolbar 106. Input device 320 may include, forexample, a keyboard, a pointing device, a mouse, a stylus, a touchsensitive panel (e.g., a touch pad or a touchscreen), a gyroscope, anaccelerometer, a position detector, a biometric input device, and/or anaudio input device. A single component such as a touchscreen mayfunction as both an output device of media output component 315 andinput device 320.

User computer device 302 may also include a communication interface 325,communicatively coupled to a remote device such as infotainment systemcontroller 205 (shown in FIG. 2). Communication interface 325 mayinclude, for example, a wired or wireless network adapter and/or awireless data transceiver for use with a mobile telecommunicationsnetwork.

Stored in memory area 310 are, for example, computer-readableinstructions for providing a user interface to user 301 via media outputcomponent 315 and, optionally, receiving and processing input from inputdevice 320. The user interface may include, among other possibilities, aweb browser and/or a client application. A client application enablesuser 301 to interact with, for example, infotainment system controller205. For example, instructions may be stored by a cloud service and theoutput of the execution of the instructions sent to the media outputcomponent 315.

FIG. 4 illustrates an exemplary configuration of a server system shownin FIG. 2, in accordance with one embodiment of the present disclosure.Server computer device 401 may include, but is not limited to, databaseserver 215, infotainment system controller 205, and vehicle computerdevice 235 (all shown in FIG. 2). Server computer device 401 alsoincludes a processor 405 for executing instructions. Instructions may bestored in a memory area 410. Processor 405 may include one or moreprocessing units (e.g., in a multi-core configuration).

Processor 405 is operatively coupled to a communication interface 415such that server computer device 401 is capable of communicating with aremote device such as another server computer device 401, media sources210, media outputs 225, user computer devices 230, or infotainmentsystem controller 205 (all shown in FIG. 2). For example, communicationinterface 415 may receive requests from user computer device 230.

Processor 405 may also be operatively coupled to a storage device 434.Storage device 434 is any computer-operated hardware suitable forstoring and/or retrieving data, such as, but not limited to, dataassociated with database 220 (shown in FIG. 2). In some embodiments,storage device 434 is integrated in server computer device 401. Forexample, server computer device 401 may include one or more hard diskdrives as storage device 434. In other embodiments, storage device 434is external to server computer device 401 and may be accessed by aplurality of server computer devices 401. For example, storage device434 may include a storage area network (SAN), a network attached storage(NAS) system, and/or multiple storage units such as hard disks and/orsolid state disks in a redundant array of inexpensive disks (RAID)configuration.

In some embodiments, processor 405 is operatively coupled to storagedevice 434 via a storage interface 420. Storage interface 420 is anycomponent capable of providing processor 405 with access to storagedevice 434. Storage interface 420 may include, for example, an AdvancedTechnology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, aSmall Computer System Interface (SCSI) adapter, a RAID controller, a SANadapter, a network adapter, and/or any component providing processor 405with access to storage device 434.

Processor 405 executes computer-executable instructions for implementingaspects of the disclosure. In some embodiments, processor 405 istransformed into a special purpose microprocessor by executingcomputer-executable instructions or by otherwise being programmed. Forexample, processor 405 is programmed with the instructions such as areillustrated in FIGS. 5 and 14.

FIG. 5 is a flow chart of a process 500 for use in controlling a user'saccess to a customization mode using system 200 shown in FIG. 2. In theexemplary embodiment, process 500 is performed by infotainment systemcontroller 205 (shown in FIG. 2).

In the exemplary embodiment, infotainment system controller 205 receives505 user input requesting entry into a customization mode. In theexemplary embodiment, infotainment system display 100 is displaying aview similar to screen view 102 (both shown in FIG. 1). Infotainmentsystem display 100 receives an input from the user, such a long contacton a button 108 or shortcut bar 116 (both shown in FIG. 1). In someembodiments, infotainment system display 100 transmits the user actionin real-time to infotainment system controller 205, such as indicatingthat a user contact is occurring at x and y coordinates. In otherembodiments, infotainment system display 100 determines that the useraction is a long contact in a location where a long contact activatescustomization mode and transmits an indication of such to infotainmentsystem controller 205.

In response to receiving 505 the user input that the user has selectedto enter the customization mode, infotainment system controller 205retrieves 510 the current speed of the vehicle. In the exemplaryembodiment, infotainment system controller 205 retrieves 510 the currentspeed of the vehicle from vehicle computer device 235 (shown in FIG. 2)that may receive the speed of the vehicle from an ECU on the CAN bus. Inother embodiments, infotainment system controller 205 retrieves 510 thecurrent speed of the vehicle from a user computer device 230 (shown inFIG. 2) with a Global Positioning System (GPS) unit or other locationtracking unit that is capable of determining the speed of the vehicle.

Infotainment system controller 205 determines 515 if the speed of thevehicle is greater than zero. If the speed of the vehicle is greaterthan zero, infotainment system controller 205 denies 520 the user accessto the customization mode. In some embodiments, infotainment systemcontroller 205 causes a pop-up window to be displayed that tells theuser that customization mode is not available while the vehicle is inmotion.

If the speed of the vehicle is zero, infotainment system controller 205opens 525 the customization mode. While customization mode is open oractive, infotainment system controller 205 retrieves 530 the currentvehicle speed, such as through vehicle computer device 235. Infotainmentsystem controller 205 determines 535 if the speed of the vehicle isgreater than zero. If the speed of the vehicle is greater than zero,infotainment system controller 205 exits 540 customization mode. If thespeed of the vehicle is still zero, then infotainment system controller205 continues to monitor of the speed of the vehicle while customizationmode is active.

For example, if a vehicle is stopped at a red light and user attempts toaccess customization mode, infotainment system controller 205 willdetermine that the vehicle is not moving and open 525 customizationmode. However, when the light turns green and the vehicle begins tomove, infotainment system controller 205 will exit 540 the customizationmode.

In other embodiments, infotainment system controller 205 may limitaccess to customization mode when the vehicle speed is below apredetermined speed but greater than zero, such as 10 miles an hour. Instill other embodiments, infotainment system controller 205 may limitaccess to customization mode based on the gear which the vehicle is in,such as only allowing access to customization mode when the vehicle isin park or neutral. In these embodiments, infotainment system controller205 may determine the speed or gear of the vehicle from vehicle computerdevice 235.

FIGS. 6A-6E illustrate exemplary views 600 of a use case for movingbuttons in a customization mode using system 200 shown in FIG. 2. In theexemplary embodiment, customization mode is a special mode ofinfotainment system 200 that enables a user to personalize the locationsof the functions of infotainment system 200. In the exemplaryembodiment, infotainment system display 100 displays view 600 ofcustomization mode. View 600 covers up the audio information bar 120(shown in FIG. 1) and adds a hide app button 602 and a done button 610.

The user may activate customization mode by make a long contact withinfotainment system display 100. In the exemplary embodiment, userpushes and holds one of button 108 or shortcut button 118 for apredetermined period of time, i.e. 1000 ms, to request activation ofcustomization mode. If the vehicle speed is zero, then infotainmentsystem controller 205 (shown in FIG. 2) activates customization mode.

In the exemplary embodiment, when customization mode is entered, theinfotainment system display 100 displays a view 620 as shown in FIG. 6B.If an app or sub-page is open when customization mode is activated,infotainment system controller 205 exits the app or sub-page anddisplays view 620. In some embodiments, customization mode defaults todisplaying the left-most active page 104 by default. In otherembodiments, customization mode shows the most recently used active page104. In FIG. 6B, infotainment system display 100 greys out the majorityof the page. Shortcut bar 116, hide app button 602, next page button110, and tool tip button 618 are highlighted and have tooltips 612, 614,616, and 622 associated with them. Each tooltip 612, 614, 616, and 622explains what actions the user may perform during customization mode.For example, the tooltip 614 associated with hide app button 602explains that the user may move a button 108 to that location to hidethe associated app. In the exemplary embodiment, when the user clicks oninfotainment system display 100 again or moves the position of theircontact, infotainment system display 100 changes from view 620 to view600.

In some embodiments, tool tip button 618 allows the user to hidetooltips 612, 614, 616, and 622 and transition from view 620 to view600. In other embodiments, tool tip button 618 allows the user to bringtooltips 612, 614, 616, and 622 back up, transitioning from view 600 toview 620. In still further embodiments, tool tip button 618 allows theuser to hide tooltips 612, 614, 616, and 622, so that they are notdisplayed when the user enters customization mode in the future. Forexample, after the user clicks tool tip button 618, infotainment systemcontroller 205 opens customization mode into view 600 instead of view620. The user may reverse this setting by clicking tool tip button 618.

In some embodiments, when in customization mode, infotainment systemdisplay 100 does not display background colors of buttons 108. In theseembodiments, during non-customization mode, buttons 108 are displayedhaving backgrounds that are filled in with various colors and/ortextures. For example, each button 108 may have a different backgroundcolor. These background colors may be set by the user, by the appassociated with the button 108, by the system, or any combinationthereof. When customization mode is entered, infotainment system display100 suppresses these background colors and textures for a moresimplified view of active page 104. This also serves as another visualreminder that the customization mode is active. In these embodiments,the color of the icon and/or text of the button remains the sameregardless of mode.

In the exemplary embodiment, to exit customization mode the user mayclick done button 610. In some embodiments, the user may also click theback button or the home button to exit customization mode. In theexemplary embodiment, infotainment system controller 205 also exitscustomization mode when vehicle computer device 235 reports that thevehicle speed is greater than zero. In some embodiments, the behavior ofinfotainment system controller 205 when exiting customization modevaries by the method used to exit customization mode. For example,clicking the done button 610 will exit customization mode and save thechanges that the user made. In this example, clicking the back buttonacts as a cancel button where infotainment system controller 205 exitscustomization mode and does not save the changes that the user made. Insome embodiments, exiting customization mode due to speed exceeding zero(or another threshold) saves the changes. In other embodiments, exitingdue to speed does not save the changes and reverts to screen view 102(shown in FIG. 1) displayed prior to entering customization mode. Insome further embodiments, the user may set the behavior of the differentmethods of exiting customization mode.

FIGS. 6C-6E illustrate a use case of a user moving a button 108 onactive page 104. While in customization mode, the user may rearrangebuttons 108 in active page 104. As shown in FIG. 6C, a user may select abutton 108, such as the Climate button 604, and begin to drag theselected button 604. In some embodiments, the selected button 604 ishighlighted to show its selected status. In other embodiments, theappearance of selected button 604 remains the same and the rest of theicons and/or buttons 108 are whitened to show a contrast. FIG. 6Dillustrates where the user has drug the selected button 604 to betweenthe Navigation button 606 and the Rear Ent button 608. When the user hasdrug the selected button 604 to a different location on active page 104infotainment system display 100 may display an indicator to show wherethe selected button would go if it was released at that point. Theindicator may be a line that appears between the buttons 606 and 608that the selected button 604 will be placed between. In someembodiments, the indicator may highlight the button 108 that would bemoved. In other embodiments, the appearance of selected button 604remains the same and the rest of the icons and/or buttons 108 arewhitened to show a contrast. In other embodiments, infotainment systemcontroller 205 may rearrange the buttons 108 on active page 104 to showhow active page would appear if the selected button 604 was released atthat point. In these embodiments, infotainment system controller 205 mayanimate the transition of the variously affected buttons 108 to show thetransition between locations. Every time the selected button 604 ismoved to a different location, the indicator would update. In someembodiments, infotainment system controller 205 only moves the indicatoror the other buttons when the user has hovered over a spot for apredetermined period of time.

When the user drops the selected button 604, then infotainment systemcontroller 205 places Climate button 604 where Rear Ent button 608currently is. Infotainment system controller 205 shifts the rest of thebuttons 108 on the top row of active page 104 over to the right toaccommodate Climate button 604. In the exemplary embodiment,infotainment system controller 205 moves the Audio button 108 down tothe left hand side of the bottom row and shift the buttons in the bottomrow to fill in the hole made by Climate button 604. In some embodiments,infotainment system display 100 animates the transition. For example,infotainment system display 100 may display the selected button 604traveling from the release location to its final location. Meanwhile,the affected buttons 108 may be displayed moving to their correspondingnew locations. This final rearrangement is illustrated in FIG. 6E.

In other embodiments, infotainment system controller 205 may (1) shiftAudio button 108 off of active page 104 and onto the left side of thetop row of the next page, (2) shift the button 108 right of the Climatebutton 604 to the left filling the hole, and (3) shift the leftmostbutton of the next page into the rightmost spot of the bottom row.

FIGS. 7A-7G illustrate exemplary views 630 of a use case for customizinga shortcut bar in the customization mode using the system shown in FIG.2.

While in customization mode, the user may move one or more buttons toshortcut bar 116. As shown in FIG. 7A, a user may select a button 108,such as the Weather button 632, and begin to drag the selected button632. In some embodiments, the selected button 632 is highlighted to showits selected status. In other embodiments, the appearance of selectedbutton 638 remains the same and the rest of the icons and/or buttons 108are whitened to show a contrast.

As shown in FIG. 7B, the user may drag the selected button 632 over toshortcut bar 116. The user drags the selected button 632 so that the topleft corner of the selected button it over the shortcut button 118 thatthe user wishes to replace. In some embodiments, the shortcut button 118that will be replaced is highlighted in a different color to inform theuser. In some embodiments, infotainment system display 100 onlyhighlights the shortcut button 118 that will be replaced when the userhas hovered over that shortcut button 118 for a predetermined period oftime. In this example, the user has drug the Weather button 632 over theshortcut button 118 for Rear Ent shortcut button 638. Infotainmentsystem controller 205 determines that the dragged button is over theRear Ent shortcut button 638. If the user drops the selected button 632at that point, infotainment system controller 205 (1) removes the RearEnt shortcut button 638 from shortcut bar 116, (2) generates a shortcutbutton 118 for Weather button 632, and (3) places a new shortcut button642 in the desired place on shortcut bar 116. The final arrangement isillustrated in FIG. 7C. If there isn't a shortcut button 118 in thedesired location, then infotainment system controller 205 fills theempty spot with the shortcut button 642 for the selected button 632. Insome embodiments, infotainment system display 100 animates thetransition of replacing the shortcut button 118, where the selectedbutton 632 shrinks to the shortcut bar 116, while also returning to itsprevious location on active page 104.

In some embodiments, the user needs to drag the selected button 632 sothat a portion of the selected button 632 covers the desired location.For example, as shown in FIG. 7B, the top left corner of the selectedbutton 632 covers the Rear Ent shortcut button 638, which is to bereplaced. In other embodiments, the drop location is based on theposition of the user's finger instead of the selected button 632. Inthese embodiments, the position of the user's finger on infotainmentsystem display 100 when the user releases contact is the location wherethe selected button 632 will be placed. For example, the selected button632 could overlap both shortcut buttons 636 and 638, where the top leftcorner of the selected button 632 is off of infotainment system display100. If the user's finger touch is contacting where shortcut button 638is located, then when the user releases contact with infotainment systemdisplay 100, infotainment system controller 205 places the shortcutbutton 642 for selected button 632 where shortcut button 638 was, asshown in FIGS. 7B & 7C.

Infotainment system controller 205 prevents the user from duplicatingbuttons 108 on shortcut bar 116. For example, if the user tried to dragClimate button 604 to shortcut bar 116, shortcut bar 116 would be lockedand the shortcut buttons 118 would not move or highlight. If the userdropped the duplicate button 604 over shortcut bar 116, the selectedbutton 604 would just return to its original position on active page104.

While in customization mode, the user may rearrange the order ofshortcut buttons 118 on shortcut bar 116. As shown in FIG. 7D, the usermay select a shortcut button 118, such as Rear Ent shortcut button 638,and begin to drag the selected shortcut button 638. In some embodiments,the selected shortcut button 638 is highlighted to show its selectedstatus. In other embodiments, the appearance of selected button 638remains the same and the rest of the icons and/or buttons 108 arewhitened to show a contrast.

As shown in FIG. 7E, the user may drag the selected shortcut button 638to a different position on shortcut bar 116. As the user drags theselected shortcut button 638, infotainment system display 100 rearrangesthe other two shortcut buttons 634 and 636 to show where they would belocation on a rearranged shortcut bar 116 based on the current positionof the selected shortcut button 638. If the user drops the selectedshortcut button 638, infotainment system controller 205 (1) places theselected shortcut button 638 at the desired position and (2) slides theother two shortcut buttons 634 and 636 to accommodate the new positionof shortcut button 638. In some embodiments, infotainment system display100 animates the shortcut buttons 118 sliding from one position toanother. Infotainment system display 100 also animates dropping of theselected shortcut button 638 into its desired position. The finalarrangement is illustrated in FIG. 7F.

In the example embodiment, infotainment system controller 205 preventsthe user from removing a shortcut button 118 from shortcut bar 116.Infotainment system controller 205 only allows the user to add orrearrange the shortcut buttons 118.

In some embodiments, the user may enter a customization modespecifically for rearranging shortcut buttons 118 on shortcut bar 116.In these embodiments, the user presses and holds one of the shortcutbuttons 118 for a predetermined period of time, i.e. 1000 ms. If thevehicle speed is zero, infotainment system controller 205 enters theshortcut bar customization mode. As shown in view 640 in FIG. 7G, thiscustomization mode only highlights shortcut bar 116 and displays atooltip that explains how to rearrange shortcut buttons 118 on shortcutbar 116. All other buttons and inputs are greyed out in this mode asshown in view 640. This customization mode only allows the user tointeract with shortcut buttons 118 on shortcut bar 116. The user mayexit this mode by clicking done button 610, the back button, or the homebutton to return infotainment system display 100 to view 102 orwhichever page was previously viewed prior to the user accessing thiscustomization mode.

In this customization mode, infotainment system controller 205 preventsthe user from dragging a shortcut button 118 into active page 104. If auser drags and drops a shortcut button 118 from shortcut bar 116 intoactive page 104, infotainment system display 100 animates a sequenceshowing the shortcut button 118 flying back to its original location onshortcut bar 116. None of the buttons 108 on active page 104 react tothe user holding a selected shortcut button 118 over active page 104.

FIGS. 8A-8C illustrate exemplary views 650 of a use case for removing abutton 108 (shown in FIG. 1) in the customization mode using system 200shown in FIG. 2. As shown in FIG. 8A, a user may select a button 108,such as the Climate button 604, and begin to drag the selected button604. In some embodiments, the selected button 604 is highlighted to showits selected status. In other embodiments, the appearance of selectedbutton 604 remains the same and the rest of the icons and/or buttons 108are whitened to show a contrast. FIG. 8B illustrates where the user hasdrug the selected button 604 to the hide app button 602. If the userdrops the selected button 604 at that point, then infotainment systemcontroller 205 removes the Climate button 604 from active page 104. Insome embodiments, infotainment system display 100 displays an animationof the selected button 604 falling into the hide app button 602, ananimation of the selected button 604 shrinking until it disappears, oran animation of the selected button 604 shrinking into the hide appbutton 602.

In the exemplary embodiment, infotainment system controller 205 shiftsthe buttons 108 from the right of where Climate button 604 was to fillin the missing space, as shown in FIG. 8C. In some embodiments,infotainment system display 100 animates the transition of the affectedbuttons 108. In other embodiments, infotainment system controller 205does not rearrange the buttons on active page 104 when a button isremoved. Instead, infotainment system controller 205 leaves the spacewhere Climate button 604 was as a blank. In still other embodiments,infotainment system controller 205 may retrieve the left topmost button108 from the next page and place the retrieved button in the bottomrightmost position on active page 104.

In the exemplary embodiment, if the button 108 for an app is that has anassociated shortcut button 118 is hidden, shortcut button 118 remains onshortcut bar 116. In the exemplary embodiment, all apps are capable ofbeing hidden and active page 104 may contain zero buttons 108.

FIGS. 9A-9D illustrate exemplary views 700 of audio information bar 120used with infotainment system display 100 shown in FIG. 1.

Audio information bar 120 includes audio icon 122 and audio information124. Audio icon 122 represents the currently selected audio source. Inthe exemplary embodiment, audio icon 122 is similar to an icon on thebutton 108 associated with the selected audio source. In the exemplaryembodiment, the audio icon 122 matches the icon on the source button.However, in this embodiment, the audio icon 122 does not include anytext, just the icon. In the exemplary embodiment, audio sources aresimilar to media sources 210 (shown in FIG. 2). Audio information 124 isinformation about the currently active audio source. In someembodiments, the information is also known as metadata. The informationmay include, but is not limited to, the currently playing song,currently playing artist, current station frequency, current stationname, current program name, phone number or contact name, call time, anerror message, and volume feedback. In the exemplary embodiment, if theinformation contained in audio information 124 is longer than the spaceavailable on audio information bar 120, then audio information 124 endsin an ellipse (“ . . . ”). In the exemplary embodiment, audioinformation 124 is static and does not scroll or animate to prevent thedriver from being distracted by movement on infotainment system display100.

When audio icon 122 is clicked, infotainment system controller 205 opensselectable menu of audio sources 802, as shown in FIG. 10. When audioinformation 124 is clicked, then infotainment system controller 205opens the app associated with the current audio source. When there is noaudio playing and no active phone call, then infotainment systemcontroller 205 does not initiate a transition to another page.

In the exemplary embodiment, the text displayed in audio information 124is based on the audio source. Below are some examples of informationthat could be displayed in audio information 124.

FM: <station frequency>-<program service name>

HD FM: <station frequency>-<station name>

AM: <station frequency>-<program service name>

AM HD: <station frequency>-<station name>

Satellite Radio: <station number>-<station name>

USB/Bluetooth/User Device/Internet Radio: <title>-<artist>

Phone: <contact or number>-<in call timer> Ex: “Paul—0:32”

No information available: “No Info” (for use when no metadata isavailable Ex: Internet Radio ad, etc.)

When the audio source associated with the audio icon 122 is unavailable,such as when no device is connected, then audio information 124 displaysan appropriate error message, as shown in FIG. 9B. Examples of errormessages could include, but are not limited to, “no device” when theassociated device is not connect, such as a Bluetooth device, “no disc”when there is no CD in the CD player, “no signal” when there is nosignal for satellite radio, “no service” when there is no Internetconnection for Internet Radio, and “no songs” if the playlist is empty.Once the error condition is resolved, such as the device successfullyconnected, the error message is replaced by the appropriate audioinformation.

In some embodiments, when a volume control (not shown) is modifiedthrough infotainment system 200 (shown in FIG. 2), a current volumeindicator is shown over audio information 124 for a predetermined periodof time (i.e., 3 seconds). As shown in FIG. 9C, audio information 124displays a speaker icon, a numerical value for the current volume, and arelative bar that illustrates where the current volume is relative tomaximum and minimum volume. In some embodiments, the speaker iconchanges based on the current audio source. For example, if the phone isthe current audio source, then the speaker icon would be replaced withthe phone app icon. Other examples may include, but are not limited to,the auxiliary source icon, text-to-speech and voice recognition icon,and in-car public announcement system icon.

In the illustrated example, FIG. 9C illustrates that the current volumeis at 20, where the maximum volume is 40. The numerical value of thevolume and the maximum value of the volume are based on the currentaudio source. In this illustration, the volume level bar shows that thevolume is half of the maximum. If the user further adjusted the volume,then the information in audio information 124 would changeappropriately. After the predetermined period of time, the currentvolume indicator disappears and audio information 124 is displayed. Ifthe current audio source is deactivated, then audio information 124displays an audio off message, as is shown in FIG. 9D. In the exemplaryembodiment, the audio off message is displayed in the audio informationbar 120 until an audio source is activated. In some embodiments, theuser may activate and deactivate the audio sources by pressing in thevolume knob. The user may also turn the volume all of the way down tozero, which causes infotainment system controller 205 to deactivate thecurrent audio source.

In the exemplary embodiment, infotainment system controller 205determines the information to display in audio information 124 based ona priority list based on the source of the information. For example, thepriority list may be arranged so that volume feedback information fornon-audio app sources have the highest priority. Examples of non-audioapp sources include, but are not limited to, phone, voice recognition,text to speech, and in-car public address system. In this example, thenext priority is phone metadata, aka information about a current phonecall. Next would be the audio off message shown in FIG. 9D. Then wouldbe volume feedback information for audio app sources. And finally wouldbe metadata from those audio-app sources.

FIG. 10 illustrates an exemplary view 800 of a selectable menu of audiosources 804 based on audio information bar 120 shown in FIG. 9A.

When a user selects audio icon 122, infotainment system display 100(shown in FIG. 1) displays an audio sources menu 802. Audio sources menu802 includes a plurality of potential audio sources 804 that the usermay select. In the exemplary embodiment, audio sources 804 correspond tomedia sources 210 (shown in FIG. 2). When the user selects an audiosource 804 from audio sources menu 802, infotainment system controller205 (shown in FIG. 2) (1) activates the media source 210 correspondingto the selected audio source 804, (2) closes audio sources menu 802, and(3) instructs infotainment system display 100 to display audio icon 122and audio information 124 (shown in FIG. 1) corresponding to theselected media source 210. When the audio sources menu 802 is open, thecurrently selected audio source 804 is highlighted.

If the user wishes to close audio sources menu 802 without making aselection or changing the current selection, the user may click the backbutton or audio icon 122 to close the audio sources menu 802.

If infotainment system display 100 is displaying an app prior to theaudio sources menu 802 being opened, then when the audio sources menu802 is closed infotainment system display 100 returns to displaying theapp. The exception is when the app being displayed with the currentaudio source 804 and the user selects a different audio source 804. Inthis situation, infotainment system display 100 displays the app for thenewly selected audio source 804 instead.

In the exemplary embodiment, audio sources 804 in audio sources menu 802are organized in an order set by infotainment system controller 205.Audio sources 804 are displayed in order by row, where the first twoaudio sources 804 are displayed in the top row and the second two in thenext, continuing on. For example, the order of audio sources 804 may be,but is not limited to, FM, Bluetooth Audio, Satellite Radio, InternetRadio, Aux Input, USB, CD, AM, Hard Drive, Social Play List, AppleCarPlay® (CarPlay is a registered trademark of Apple Inc. located inCupertino, Calif.), Android Auto® (Android Auto is a registeredtrademark of Google, Inc. of Mountain View, Calif.), and RearEntertainment System (RES). If one or more of the audio sources 804 isunavailable in the vehicle, such as if the vehicle does not include a CDplayer, then all lower prioritized audio sources 804 are moved up by onespace.

FIGS. 11A-11D illustrates exemplary views 900 of indicator area 128 usedwith infotainment system display 100 shown in FIG. 1. In the exemplaryembodiment, indicator area 128 includes a plurality of indicator icons130. Each indicator icon 130 corresponds to different applicationstatuses, system statuses, and notification messages.

For example, a system status may include an indicator icon 130 thatresembles a satellite to indicate that satellite based GPS is connected.An indicator icon 130 with of a satellite with an X over it may indicatethat no GPS signals are currently being received by infotainment system200 (shown in FIG. 2). Other indicator icons 130 may indicate the statusof a battery of a connected device, such as user computer device 230(shown in FIG. 2), one or more communication protocols that are active,such as Bluetooth, USB, cellular, and Wi-Fi.

In the exemplary embodiment, indicator icons are right adjusted. Byadjusting the indicators to the right side of indicator area 128, theindicator icons 130 are further outside of the driver's field of view.In the exemplary embodiment, the placement of indicator icons 130 inindicator area 128 depends on the number of indicator icons 130. Forexample, in FIG. 11A, there are only two indicator icons 130. These twoindicators are middle aligned and right adjusted. As more indicatoricons 130 are added to indicator area 128, these are added to the leftof the currently listed icons. As shown in FIG. 11B, indicator area 130may contain 3.5 indicator icons 130. Some indicator icons, such as thosefor Bluetooth and USB are half sized. If there are four indicator icons130 and none of the four are half-sized, then infotainment systemdisplay 100 shifts the first row of indicator icons 130 up and placesthe fourth indicator icon 130 in a right adjusted row below, leaving thehalf space as blank. FIG. 11C illustrates two rows of indicator icons130 in indicator area 128.

In some embodiments, the number of indicator icons 130 may exceed theamount of space available on indicator area 128. In these embodiments,an ellipse icon 902 may be displayed in indicator area 128, as shown inFIG. 11D.

In some embodiments, indicator icons 130 are ordered within indicatorarea 128 based on a priority system. In these embodiments, indicatoricons 130 are prioritized from right to left and then top to bottom.Where the indicator icon 130 furthest to the right in the top row hasthe highest priority and the indicator icon 130 furthest to the right inthe bottom row has a higher priority than any of the other indicatoricons 130 in the bottom row. In some embodiments, this prioritizationplaces actionable items at the highest priority, where purelyinformational items are prioritized much lower. In at least oneembodiment, statuses produced by applications are given higher prioritythan status produced by the system. For example, app producednotifications would be given higher priority than statuses such as cellphone signal level, cell phone battery level, and Wi-Fi connection.

FIG. 12 illustrates another exemplary view 1000 of indicator area 128used with infotainment system display 100 shown in FIG. 1. In this view1000, indicator area 128 includes a notification icon 1002. In theexemplary embodiment, notification icon 1002 represents a number ofactionable items for the user, such as messages to the user that arecurrently awaiting the user to view. The number in notification icon1002 represents the number of notification messages which have not beendismissed yet. Messages include, but are not limited to, messages frominfotainment system controller 205 (shown in FIG. 2), text messagesreceived through infotainment system's cellular connection, textmessages received through a user computer device 230 (shown in FIG. 2),such as a smartphone, email messages, and messages received through anapplication on infotainment system controller 205.

Notification icon 1002 will occupy space normally occupied by indicatoricons 130. Notification icon 1002 will be placed to the left of alldisplayed indicator icons 130. Notification icon 1002 will occupy boththe top and bottom row. Notification icon 1002 will be present whenevernotifications are waiting to be viewed and/or acted upon and will not behidden when the number of indicator icons 130 to be displayed exceedsthe amount of space in indicator area 128.

FIG. 13 illustrates an exemplary view 1100 of a list of items 1102associated with indicators icons 130 from indicator area 128 shown inFIGS. 11A-11D and 12. List of items 1102 includes a plurality ofnotification items 1104, 1106, and 1108. When the user clicks indicatorarea 128, infotainment system controller 205 (shown in FIG. 2) instructsinfotainment system display 100 to display list of items 1102. In theexemplary embodiment, each item on list of items 1102 corresponds to anindicator icon 130 that was displayed in indicator area 128. When thereare more items that can be displayed on list of items 1102, infotainmentsystem display 100 displays a scroll bar to allow the user to scrollthrough list of items 1102.

If there are no indicator icons 130 in indicator area 128, whenindicator area 128 is selected by the user, then list of items 1102 isblank when displayed. The user may exit viewing list of items 1102 byclicking indicator area 128, the back button, or the home button. Insome embodiments, while infotainment system display 100 is displayinglist of items 1102, indicator area 128 does not include any indicatoricons 130.

Some of the items, such as system notification 1104, represent a messagethat the user may open to view or an actionable item that may prompt theuser to perform an action. After the user has viewed the message orperformed the action, the number of messages included in notificationicon 1002 (shown in FIG. 10) is reduced. The user may also dismisssystem notification 1104 by clicking the dismiss button. This actionalso reduces the number of messages included in notification icon 1002.When the number of messages is zero, then notification icon 1002 doesnot appear in indicator area 128. In some embodiments, if there is morethan one system notification 1104, system notifications 1104 are orderedso that the most recent notification is listed at the top.

Status notification 1106 represents an informational icon designed toinform the user of a piece of information, such as battery status ofconnected user computer devices 230 (shown in FIG. 2). Menunotifications 1108 include an indicator that shows that thisnotification 1108 links to another page or application that will providethe user with additional information about the notification. When theuser clicks on menu notification 1108, infotainment system display 100displays a page associated with the notification 1108.

In some embodiments, notifications 1104, 1106, and 1108 are orderedwithin list of items 1102 on the priority system used to order indicatoricons 130 in indicator area 128. In these embodiments, notifications1104, 1106, and 1108 are prioritized from top to bottom of list of items1102, where system notifications 1104 are at the top of the list ofitems 1102.

FIG. 14 is a flow chart of an exemplary process 1200 that may be used tocontrol infotainment system 200 in a vehicle as shown in FIG. 2. In theexemplary embodiment, process 1200 is implemented by a computing device,for example infotainment system controller 205 (shown in FIG. 2). In theexemplary embodiment, infotainment system controller 205 is incommunication with infotainment system display 100 (shown in FIG. 1) andvehicle computer device 235 (shown in FIG. 2).

In the exemplary embodiment, infotainment system controller 205instructs infotainment system display 100 to display 1205 screen view102 including active page 104 and toolbar 106. As shown above in FIG. 1,active page 104 includes a plurality of buttons 108 and toolbar 106includes a shortcut bar 116 that includes a plurality of shortcutbuttons 118. The buttons 108 are associated with at least one of anapplication, one or more options, a page containing a plurality ofoptions, a page containing a plurality of applications, and a systempage, where when the user clicks on button 108, infotainment systemcontroller 205 performs one or more actions linked to the click onbutton 108. For example, when a user clicks on Climate button 604 (shownin FIG. 6A), infotainment system controller 205 displays a climatecontrol page that enables the user to adjust the climate controls of thevehicle. Each of the shortcut buttons 118 is associated with a button108, where when the user clicks on a shortcut button 118, infotainmentsystem controller 205 responds as if the corresponding button 108 hadbeen clicked on.

In the exemplary embodiments, infotainment system controller 205receives 1210 a first user input requesting access to a customizationmode. In the exemplary embodiment, the user inputs the request byclicking on a button 108 or a shortcut button 118 on infotainment systemdisplay 100 for an extended period of time (i.e., 2 seconds).Infotainment system display 100 transmits the first user input toinfotainment system controller 205.

In the exemplary embodiment, infotainment system controller 205retrieves 1215 the current speed of the vehicle. In some embodiments,infotainment system controller 205 retrieves 1215 the current speed ofthe vehicle from vehicle computer device 235 that receives the currentspeed from one or more ECUs on the CAN bus. In other embodiments,infotainment system controller 205 retrieves 1215 the current speed ofthe vehicle from a user computer device 230 (shown in FIG. 2) or througha GPS device included in infotainment system 200.

In the exemplary embodiment, infotainment system controller 205activates 1220 the customization mode if the current speed of thevehicle is zero. In the exemplary embodiment, infotainment systemcontroller 205 causes infotainment system display 100 to display view620 (shown in FIG. 6B). After the user touches the screen, infotainmentsystem controller 205 causes infotainment system display 100 to displaysview 600 (shown in FIG. 6A). Infotainment system controller 205 receives1225 a second user input indicating a desired changed to at least one ofactive page 104 and toolbar 106. Infotainment system controller 205updates 1230 view 600 based on the desired change.

FIGS. 15A-15E illustrate exemplary views 1500 of a use case forrearranging buttons over multiple active pages. While in customizationmode, the user may move buttons 108 from a first page 1502 to a secondpage 1504. As shown in FIG. 15A, a user may select a button 108, such asthe Climate button 604, and begin to drag the selected button 604. Insome embodiments, the selected button 604 is highlighted to show itsselected status. In other embodiments, the appearance of selected button604 remains the same and the rest of the icons and/or buttons 108 arewhitened to show a contrast. FIG. 15B illustrates where the user hasdrug the selected button 604 to the next page button 110. In the exampleembodiment, infotainment system display 100 highlights next page button110, such as by drawing a colored box around next page button 110. Whenuser hovers over next page button 110 for a predetermined period oftime, infotainment system display 100 changes active page 104 from firstpage 1502 to second page 1504. After Climate button 604 has been removedfrom first page 1502, first page 1502 resembles view 650, shown in FIG.8C. While the description herein describes a first page 1502 and asecond page 1504, these could be pages of any number in the queue ofpages available.

As shown in FIG. 15C, second page 1504 is currently empty. If the userreleases the selected button 604, then infotainment system controller205 places the selected button 604 in the upper leftmost corner ofactive page 104. In some embodiments, infotainment system display 100displays an animation of the selected button 604 traveling from itspoint of release to its destination. In the exemplary embodiment, whenreleased in a blank area, the selected button goes to the leftmost andtopmost free space available.

In some situations, second page 1504 is not empty and there are alreadyone or more buttons in second page 1504. If the selected button 604 isreleased in a blank space, then infotainment system controller 205positions the selected button 604 in the next available space, as shownin FIG. 15E. In some further situations, the user may continue on past asecond page 1504 that includes one or more buttons 108 to third page1506 (shown in FIG. 16D) that is empty and release the selected button604 on empty third page 1506. In this situation, first page 1502 wouldresemble FIG. 8C, second page would resemble FIG. 15E, and third page1506 would resemble FIG. 15D. In these embodiments, infotainment systemcontroller 205 prevents the user from having an empty page between pagesof with buttons. For example, if second page 1504 was empty, theninfotainment system controller 205 would not allow user to drag selectedbutton 604 to third page 1506.

FIGS. 16A-16E illustrate exemplary views 1600 of another use case forrearranging buttons over multiple active pages. In some situations,second page 1504 already contains a full set of buttons 108, such asshown in FIG. 16A. While in customization mode, the user may have actedas shown in FIGS. 15A and 15B and dragged a selected button from firstpage 1502 to second page 1504. As shown in FIG. 16B, the selected button604 may be hovering over a space where the user desires to position it.When the user releases the selected button 604, infotainment systemcontroller 205 (1) places the selected button 604 in the desiredposition, as shown in FIG. 16C, (2) shifts the buttons 108 to the rightof the desired position to the right and downward, as shown in FIG. 16C,and (3) transfers the rightmost and bottommost button 108 onto the nextpage, in this case a third page 1506, as shown in FIG. 16D. FIGS. 16Dand 16E shows that the button 108 that is shifted from second page 1504is placed in the leftmost and uppermost position on third page 1506,even if there are existing buttons 108 on third page 1506. If third page1506 had been full of buttons 108, then the rightmost and bottommostbutton 108 would be transferred to the next page.

FIGS. 17A-17D illustrate exemplary views 1700 of yet a further use casefor rearranging buttons over multiple active pages. As shown in FIG.17A, a user may select a button 108, such as the Camera button 1508 tomove to a previous page. In this case, the selected button 1508 is onthird page 1506. User drags the selected button 1508 to previous pagebutton 111. In some embodiments, infotainment system display 100highlights previous page button 111 to show that the selected button1508 is over previous page button 111. If the user hovers over previouspage button 111 for a predetermined period of time, infotainment systemdisplay 100 opens second page 1504 as shown in FIG. 17B. When userreleases selected button 1508, infotainment system controller 205 (1)places the selected button 1508 in the desired position, as shown inFIG. 17C, (2) shifts the buttons 108 to the right of the desiredposition to the right and downward, as shown in FIG. 17C, and (3)transfers the rightmost and bottommost button 108 onto the next page, inthis case a third page 1506, as shown in FIG. 17D. In this case, thebutton 108 that is transferred shifts the button 108 that is already onthird page 1506 to the right.

FIG. 18 illustrates an exemplary view 1800 of an all apps menu 1802 thatdisplays a selectable listing of all of the apps on infotainment system200 (shown in FIG. 2).

In the exemplary embodiment, all apps menu 1800 includes an app listing1806 for each app on infotainment system 200. The app listings 1806 aredisplayed in alphabetical order. Each app listing 1806 includes acheckbox 1808 to indicate if the associated app is displayed as a button108. For example, the Navigation and Rear Ent buttons 108 (shown inFIG. 1) would be checked as they are displayed as buttons. However,after the use case shown in FIGS. 8A-8C, the check box 1808 for theclimate app associated with Climate button 604 (shown in FIG. 8A) wouldbe unchecked.

Furthermore, a user may click on a checkbox 1808 to either hide orunhide the associated app. If the checkbox 1808 is checked when the userclicks on it, then the associated button 108 is removed from theassociated page of buttons. The remaining buttons 108 on the page arerearranged as if the button 108 had been removed using the hide appbutton 602, as shown in the use case in FIGS. 8A-8C. If the checkbox1808 is unchecked when the user clicks on it, a button 108 associatedwith the app is added in the first available position on a page ofbuttons. In some embodiments, the user may click next to or near thecheckbox 1808 to activate it, instead of having to click exactly on thecheckbox 1808. In the exemplary embodiment, if the button 108 for an appis that has an associated shortcut button 118 is hidden, shortcut button118 remains on shortcut bar 116 (both shown in FIG. 1). In the exemplaryembodiment, all apps are capable of being hidden and active page 104 maycontain zero buttons 108. In some embodiments, when the user clicks onthe app listing 1806, infotainment system controller 205 opens theassociated app.

In some embodiments, the all apps menu 1800 includes more apps than canbe shown at once. In these embodiments, infotainment system display 100displays a current page 1804 of app listings 1806, for example the firstfive in alphabetical order. The rest of the app listings 1806 are belowthe current page 1804 of app listings 1806.

If the user makes contact with infotainment system display 100 and movesupward, current page 1804 scrolls upwards and displays app listings 1806from lower on the menu while scrolling higher app listings 1806 off ofthe current page 1804. Infotainment system controller 205 animates theapp listings 1806 moving up the current page 1804. Likewise, if the usermakes contact with infotainment system display 100 and moves downward,infotainment system controller 205 animates the app listings 1806scrolling downward. The user may swipe to move up a full page at a time.A swipe is where the user makes contact and slides their finger in thedesired direction. While still sliding, the user releases contact. Whena swipe is detected, infotainment system controller 205 animates the applistings 1806 moving off of the current page 1804 in the direction ofthe swipe and replaces them with the next set of app listings 1806. Insome embodiments, infotainment system controller 205 moves the last applisting 1806 based on the direction of the swipe to be the first applisting 1806 and fills in the rest app listings 1806 accordingly. Forexample, if the swipe was in an upward direction, the CD app listing1806 would be at the top of current page 1804 with the climate applisting 1806 being next and the rest being filled in by alphabeticalorder.

A user may also pan to slide the app listings 1806 up or down. A pan iswhere the user makes contact, moves the point of contact, and stopsmoving before releasing contact. For a pan, infotainment systemcontroller 205 only moves the app listings 1806 an amount based on thedistance of the pan. When the user releases contact, infotainment systemdisplay 100 keeps the list in its present position. In some embodiments,infotainment system controller 205 moves the app listings 1806 while thepan is occurring. This allows the user to pan up and then pan down andsee the app listings 1806 above and below those on the current page1804.

In the exemplary embodiment, all apps menu 1802 includes a scroll bar1810. Scroll bar 1810 includes an up arrow 1812, a down arrow 1814, anda position indicator 1816. Position indicator 1816 indicates relativelywhere in the list of app listings 1806 the current page 1804 iscurrently displaying. When the user clicks on either up arrow 1812 ordown arrow 1814, infotainment system display 100 scrolls the user onepage up or down, respectively. If the next page only has fewer itemsthan a full page, then infotainment system display 100 shows the newitems as well as enough previously seen items to fill the page. In someother embodiments, clicking on up arrow 1812 or down arrow 1814 onlymoves up or down one item at a time. In the exemplary embodiment,infotainment system controller 205 animates the scrolling from one pageto the next. A user may also scroll using position indicator 1816 toscroll the current page 1804 up and down. In some embodiments, the listdoes not animate the change in position until the user releases contactwith position indicator 1816.

A user may also click on a position in scroll bar 1810. In the exemplaryembodiment, current page 1804 then displays a page of app listings 1806based on the position of the click on scroll bar 1810 in relation tolist of items on all apps menu 1800. Infotainment system controller 205moves the position indicator 1816 to where the click occurred. Forexample, if the user clicks in the middle of scroll bar 1810,infotainment system display 100 displays the current page 1804 with applistings 1806 from the middle of all apps menu 1802.

In some further embodiments, infotainment system display 100 alsodisplays an alphabet scroll bar 1818. Alphabet scroll bar 1818 displaysa partial alphabet. When the user clicks on a position on alphabetscroll bar 1818, infotainment system controller 205 determines whichletter that the user clicked based on the relative position in thealphabet in comparison to the position on alphabet scroll bar 1818 thatthe user clicked. Infotainment system display 100 displays the currentpage 1804 starting with the app listings 1806 that start with thedetermined letter. Infotainment system display 100 jumps to the firstapp listing 1806 (in alphabetical order) that starts with the determinedletter at the top of current page 1804 and fills the rest of currentpage 1804 with app listings 1806 that follow the first app listing 1806in alphabetic order. The user may also contact and slide the contact upor down alphabet scroll bar 1818. In the exemplary embodiment,infotainment system display 100 does not update the visible app listings1806 until the user releases contact. In this embodiment, infotainmentsystem controller 205 determines the letter closest to where the userreleased contact and jumps to display the app listings 1806 startingwith that letter.

FIGS. 19A-19D illustrate exemplary views 1900, 1910, 1920, and 1930 ofuse cases of when the user reaches the end of active page 104.

In the exemplary embodiment, when the user reaches the end of a list (asshown in FIG. 19A) or the end of pages of buttons, infotainment systemdisplay 100 displays an animation to indicate to the user that there areno more items past the current point. FIG. 19A illustrates an exemplaryview 1900 of all apps menu 1802 shown in FIG. 18. If there are no moreapp listings 1806 (shown in FIG. 18) beyond the CD app listing 1806 andthe user attempts to scroll further, then infotainment system display100 moves the app listings 1806 on current page 1804 (shown in FIG. 18)up a few pixels (i.e., 10 pixels). Infotainment system display 100 alsodisplays a line 1904 and a glow 1902 emanating from line 1904 at thebottom of the current page 1804. In the exemplary embodiment, line 1904and glow 1902 are displayed in colors that contrast with the backgroundof infotainment system display 100. Then infotainment system display 100displays the app listings 1806 bouncing back to their original position,while line 1904 and glow 1902 fade. In some embodiments, both glow 1902and line 1904 completely fade out within a predetermined period of time,such as a second.

FIG. 19B illustrates an exemplary view 1910 of all apps menu 1802 wherethe user has tried to access app listings 1806 prior to AM app listing1806. Infotainment system display 100 shifts the app listings 1806 oncurrent page 1804 a certain amount (i.e., 10 pixels), displays a line1904 and a glow 1902 at the top of the current page 1804, fades the line1904 and the glow 1902 over a period of time, and returns the applistings 1806 back to their previous position.

FIG. 19C illustrates an exemplary view 1920 of screen view 102 (shown inFIG. 1) where the user has tried to access buttons 108 (shown in FIG. 1)or a page to the left of active page 104. Infotainment system display100 shifts the buttons 108 on active page 104 a certain amount (i.e., 10pixels) to the right, displays a line 1904 and a glow 1902 at the leftof the active page 104, fades the line 1904 and the glow 1902 over aperiod of time, and returns the buttons 108 back to their previousposition.

FIG. 19D illustrates an exemplary view 1930 of view 1700 as shown inFIG. 17D where the user has tried to access buttons 108 or a page to theright of third page 1506 which is the current active page 104. As thereis no fourth page, infotainment system display 100 shifts the buttons108 on active page 104 a certain amount (i.e., 10 pixels) to the left,displays a line 1904 and a glow 1902 at the right of the active page104, fades the line 1904 and the glow 1902 over a period of time, andreturns the buttons 108 back to their previous position.

FIGS. 20A-20B are flow charts of exemplary processes 2000 and 2020 fortransitioning between different apps using infotainment system 200(shown in FIG. 2). In the exemplary embodiment, processes 2000 and 2020are performed by infotainment system controller 205 (shown in FIG. 2)and infotainment system display 100.

In process 2000, infotainment system display 100 (shown in FIG. 1)displays the navigation app 2002. In some embodiments, navigation appscreen 2002 allows the user to choose a destination and infotainmentsystem display 100 displays step-by-step directions on navigation app2002. When the user presses audio information 124, infotainment systemcontroller 205 activates and displays 2004 the app associated with thecurrently active audio source as shown in audio icon 122 and audioinformation 124. In this example, infotainment system controller 205activates 2004 FM app 2006. If infotainment system controller 205receives a phone call, infotainment system controller 205 activates anddisplays 2008 the phone app 2010. When the phone call is over,infotainment system controller 205 closes 2012 the phone app 2010 andreturns the user to the previously open app, in this case the FM app2006. If the navigation app 2002 had been open prior to the phone call,then infotainment system controller 205 would have returned the user tothe navigation app 2002. In some embodiments, infotainment systemcontroller 205 transitions 2014 back to the navigation app 2002 from theFM app 2006 if the user presses the back button. In other embodiments,when the user presses the back button while an audio source app isactive, infotainment system controller 205 transitions from the audiosource app, such as the FM app 2006, to screen view 102 (shown in FIG.1). When there is no audio playing and no active phone call (as shown inFIG. 9D), then no transition to another page is initiated when audioinformation 124 is clicked on.

In process 2020, infotainment system display 100 displays an audio app,the FM app 2006. If the user presses the audio icon 122, infotainmentsystem controller 205 opens 2022 the audio sources menu 802. If the userselects an audio source 804 (shown in FIG. 10), infotainment systemcontroller 205 closes the previous audio app and activates 2026 the appassociated with the selected audio source 804. In this example,infotainment system controller 205 activates the CD app 2028. If theuser wishes to close audio sources menu 802 without making a selectionor changing the current selection, the user may click the back button oraudio icon 122 to close the audio sources menu 802 and infotainmentsystem controller 205 returns 2024 the user to the previously openapplication, in this case the FM App 2006.

Having described aspects of the disclosure in detail, it will beapparent that modifications and variations are possible withoutdeparting from the scope of aspects of the disclosure as defined in theappended claims. As various changes could be made in the aboveconstructions, products, and methods without departing from the scope ofaspects of the disclosure, it is intended that all matter contained inthe above description and shown in the accompanying drawings shall beinterpreted as illustrative and not in a limiting sense.

While the disclosure has been described in terms of various specificembodiments, those skilled in the art will recognize that the disclosurecan be practiced with modification within the spirit and scope of theclaims.

As used herein, the term “non-transitory computer-readable media” isintended to be representative of any tangible computer-based deviceimplemented in any method or technology for short-term and long-termstorage of information, such as, computer-readable instructions, datastructures, program modules and sub-modules, or other data in anydevice. Therefore, the methods described herein may be encoded asexecutable instructions embodied in a tangible, non-transitory, computerreadable medium, including, without limitation, a storage device and/ora memory device. Such instructions, when executed by a processor, causethe processor to perform at least a portion of the methods describedherein. Moreover, as used herein, the term “non-transitorycomputer-readable media” includes all tangible, computer-readable media,including, without limitation, non-transitory computer storage devices,including, without limitation, volatile and nonvolatile media, andremovable and non-removable media such as a firmware, physical andvirtual storage, CD-ROMs, DVDs, and any other digital source such as anetwork or the Internet, as well as yet to be developed digital means,with the sole exception being a transitory, propagating signal.

This written description uses examples to disclose the embodiments,including the best mode, and also to enable any person skilled in theart to practice the embodiments, including making and using any devicesor systems and performing any incorporated methods. The patentable scopeof the disclosure is defined by the claims, and may include otherexamples that occur to those skilled in the art. Such other examples areintended to be within the scope of the claims if they have structuralelements that do not differ from the literal language of the claims, orif they include equivalent structural elements with insubstantiallocational differences from the literal languages of the claims.

What is claimed is:
 1. An infotainment computer device for use in avehicle, said infotainment computer device comprising: at least oneprocessor coupled to at least one memory device; and a display devicecoupled to said at least one processor, said infotainment computerdevice programmed to: display, via said display device, an active pageincluding a plurality of user-actionable buttons, wherein each button isassociated with an application; display, via said display device, atoolbar including a shortcut area including at least one shortcutbutton, an audio information bar including an audio icon and audioinformation area, and a notification area including at least onenotification icon; receive audio signals from at least one audio source;determine a currently-selected audio source; and transmit the audiosignals from the currently-selected audio source to one or more audiooutputs.
 2. An infotainment computer device in accordance with claim 1,wherein the infotainment computer device is further programmed to:receive a user contact via the audio information area; and activate anddisplay an application associated with the selected audio source.
 3. Aninfotainment computer device in accordance with claim 1, wherein theinfotainment computer device is further programmed to: receive a usercontact via the audio icon; display a menu of audio sources including alisting of a plurality of audio sources; receive a selection from theuser of an audio source of the plurality of audio sources; change thecurrently-selected audio source based on the selection; and close themenu of audio sources.
 4. An infotainment computer device in accordancewith claim 1, wherein each shortcut button in the shortcut area isassociated with a different button of the plurality of buttons in theactive page, and wherein when a shortcut button is contacted by a user,the infotainment computer device is further programmed to active theapplication associated with the corresponding button.
 5. An infotainmentcomputer device in accordance with claim 1, wherein each notificationicon in the notification area represents at least one notification tothe user, and wherein the infotainment computer device is furtherprogrammed to: receive a user contact on the notification area; anddisplay a list of notifications associated with the notifications in thenotification area.
 6. An infotainment computer device in accordance withclaim 5, wherein at least one notification icon is associated with amessage to the user, and wherein the infotainment computer device isfurther programmed to: receive a user selection on a notification of thelist of notifications, where the notification is associated with amessage to the user; display the message to the user; and adjust atleast one notification icon in the notification area based on displayingthe message to the user.
 7. An infotainment computer device inaccordance with claim 6, wherein the notification icon associated withthe message includes a number based on the number of messages, andwherein the number is decreased after the message is displayed to theuser.
 8. An infotainment computer device in accordance with claim 1,wherein each notification icon represents at least one of an applicationstatus, a system status, and a notification.
 9. An infotainment computerdevice in accordance with claim 1, wherein the infotainment computerdevice is further programmed to display the toolbar along the top of thedisplay device.
 10. An infotainment computer device in accordance withclaim 1, wherein the active page is one page of a plurality of pages ofuser-actionable buttons, wherein each of the plurality of pages includesat least one user-actionable button that is associated with anapplication.
 11. A computer device for use in controlling aninfotainment system in a vehicle, said computer device comprising: atleast one processor coupled to at least one memory device; and atouch-sensitive display device coupled to said at least one processor,said computer device programmed to: concurrently display, via saidtouch-sensitive display device, a first region and a second region in auser interface, wherein the first region is configured to displaymultiple pages of application icons including a first page ofapplication icons from the multiple pages of application icons, thesecond region comprising a toolbar, wherein the toolbar comprises ashortcut area including at least one shortcut button, an audioinformation bar including an audio icon and audio information area, anda notification area including one or more notification icon, wherein theaudio icon and the audio information area displays information about acurrently-selected audio source; while concurrently displaying the firstand second regions on the touch-sensitive display device: receive a usercontact on the audio information area, wherein the audio informationarea is configured to display information about the currently-selectedaudio source; and activate and display an application associated withthe selected audio source in the first region.
 12. The computer devicein accordance with claim 11, wherein the computer device is furtherprogrammed to: receive a user contact on the audio icon; and display amenu of audio sources including a listing of a plurality of audiosources.
 13. The computer device in accordance with claim 12, whereinthe computer device is further programmed to: receive a selection fromthe user of an audio source of the plurality of audio sources; changethe currently-selected audio source based on the selection; transmitaudio signals from the currently-selected audio source to one or moreaudio outputs; and close the menu of audio sources.
 14. The computerdevice in accordance with claim 11, wherein the computer device isfurther programmed to: determine whether the information about thecurrently-selected audio source exceeds a number of characters availableon the audio information area; and display a portion of the informationabout the currently-selected audio source with an ellipse at the end ofthe audio information.
 15. The computer device in accordance with claim11, wherein the computer device is further programmed to display theinformation on the audio information area as static information.
 16. Thecomputer device in accordance with claim 11, wherein the audioinformation includes information about the currently-selected audiosource includes at least one of a song currently playing, an artistcurrently playing, a frequency of a current station, a name of thecurrent station, a name of a current program, a phone number or contactname, call time, an error message, and volume feedback.
 17. The computerdevice in accordance with claim 11, wherein the computer device isfurther programmed to: receive a user input of volume adjustment for theaudio source; display a current volume indicator in the audioinformation area for a predetermined period of time; and when thepredetermined period of time is complete, return to displayinginformation about the currently-selected audio source in the audioinformation area.
 18. The computer device in accordance with claim 11,wherein the computer device is further programmed to when the audiosource is deactivated, display the currently-selected audio source inthe audio icon and an audio off message in the audio information area.19. The computer device in accordance with claim 11, wherein thecomputer device is further programmed to display audio information inthe audio information area based on a priority list associated with theaudio source associated with the information.
 20. The computer device inaccordance with claim 11, wherein the second region is displayed alongthe top of the touch-sensitive display device.